home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbpong1a / ddrawcod.bas < prev    next >
Encoding:
BASIC Source File  |  1999-08-09  |  4.2 KB  |  125 lines

  1. Attribute VB_Name = "DDrawCode"
  2. Public myScreen As CDXVBScreen
  3. Public surfIns As CDXVBSurface
  4. Public surfBack As CDXVBSurface
  5. Public surfWinner As CDXVBSurface
  6. Public Blocks As CDXVBSurface
  7. Public myFPS As CDXVBFPS
  8. Public Player1 As Player
  9. Public Player2 As Player
  10. Public myBall1 As Ball
  11. Public myBall2 As Ball
  12.  
  13. Public bActive As Boolean
  14. Public bPaused As Boolean
  15. Public bIns As Boolean
  16. Public bWinner As Boolean
  17. Public bPlayer1Won As Boolean
  18. Public bPlayer2Won As Boolean
  19. Public bLoaded As Boolean
  20. Public bTP As Boolean
  21.  
  22. Public Sub InitDDraw()
  23.     Set myScreen = New CDXVBScreen
  24.     Set surfIns = New CDXVBSurface
  25.     Set surfBack = New CDXVBSurface
  26.     Set Blocks = New CDXVBSurface
  27.     Set Player1 = New Player
  28.     Set Player2 = New Player
  29.     Set myBall1 = New Ball
  30.     Set myBall2 = New Ball
  31.     Set surfWinner = New CDXVBSurface
  32.     
  33.     bPaused = False
  34.     bIns = True
  35.     bWinner = False
  36.     bPlayer1Won = False
  37.     bPlayer2Won = False
  38.     bLoaded = False
  39.     bTP = True
  40.     
  41.     myScreen.CreateFullScreen main2.hWnd, 640, 480, 16, False
  42.     myScreen.HideMouse
  43.       
  44.     surfIns.Create App.Path & "\ins.x", myScreen
  45.     surfBack.Create App.Path & "\back1.x", myScreen
  46.     Blocks.Create App.Path & "\blocks.x", myScreen
  47.     
  48.     Player1.Init 10, 175, App.Path & "\player1.x", myScreen
  49.     Player2.Init 620, 175, App.Path & "\player2.x", myScreen
  50.  
  51.     myBall1.Init myScreen, 10, 10, 5, 5, "ball.x"
  52.     myBall2.Init myScreen, 619, 10, -5, 5, "ball1.x"
  53.     
  54.     Call BlockCode.InitBlocks
  55. End Sub
  56.  
  57. Public Sub RenderMe()
  58.     myScreen.ClearBack
  59.  
  60.         If bIns Then
  61.             If Not bTP Then
  62.                 bTP = True
  63.                 CDMusic.PlayTrack
  64.             End If
  65.             surfIns.Blit 0, 0, myScreen.m_lpDDSBack
  66.         ElseIf bWinner Then
  67.             If bPlayer1Won Then
  68.                 If Not bLoaded Then
  69.                     surfWinner.Create App.Path & "\p1won.x", myScreen
  70.                 End If
  71.             End If
  72.             If bPlayer2Won Then
  73.                 If Not bLoaded Then
  74.                     surfWinner.Create App.Path & "\p2won.x", myScreen
  75.                 End If
  76.             End If
  77.             surfWinner.Blit 0, 0, myScreen.m_lpDDSBack
  78.         ElseIf Not bPaused Then
  79.             If bTP Then
  80.                 bTP = False
  81.                 CDMusic.PlayTrack
  82.             End If
  83.             surfBack.Blit 0, 0, myScreen.m_lpDDSBack
  84.         
  85.             Player1.Move
  86.             Player1.Draw myScreen.m_lpDDSBack
  87.             Player2.Move
  88.             Player2.Draw myScreen.m_lpDDSBack
  89.             
  90.             Call BlockCode.BlockCollisions
  91.             
  92.             myBall1.Move Player1, Player2, myBall2, 1
  93.             myBall1.Draw myScreen.m_lpDDSBack, False
  94.             myBall2.Move Player1, Player2, myBall2, 2
  95.             myBall2.Draw myScreen.m_lpDDSBack, True
  96.             
  97.             Call BlockCode.BlitBlocks
  98.             
  99.             myScreen.SurfGetBackDC
  100.                 SetBkMode myScreen.m_HDC, TRANSPARENT
  101.                 SetTextColor myScreen.m_HDC, RGB(0, 255, 0)
  102.                 TextOut myScreen.m_HDC, 20, 390, "Red Remaining: " & CStr(BlockCode.RedBlocksRemaining()), Len("Red Remaining: " & CStr(BlockCode.RedBlocksRemaining()))
  103.                 TextOut myScreen.m_HDC, 20, 405, "Green Remaining: " & CStr(BlockCode.GreenBlocksRemaining()), Len("Green Remaining: " & CStr(BlockCode.GreenBlocksRemaining()))
  104.             myScreen.SurfReleaseBackDC
  105.             
  106.             If BlockCode.GreenBlocksRemaining() = 0 Then bPlayer2Won = True: bWinner = True
  107.             If BlockCode.RedBlocksRemaining() = 0 Then bPlayer1Won = True: bWinner = True
  108.         
  109.         ElseIf bPaused Then
  110.             myScreen.SurfGetBackDC
  111.                 SetBkMode myScreen.m_HDC, TRANSPARENT
  112.                 SetTextColor myScreen.m_HDC, RGB(0, 255, 0)
  113.                 TextOut myScreen.m_HDC, 0, 0, "Game Paused", Len("Game Paused")
  114.             myScreen.SurfReleaseBackDC
  115.         End If
  116.                   
  117.         myScreen.SurfGetBackDC
  118.             SetBkMode myScreen.m_HDC, TRANSPARENT
  119.             SetTextColor myScreen.m_HDC, RGB(255, 0, 0)
  120.             TextOut myScreen.m_HDC, 0, 0, myFPS.FPS, Len(CStr(myFPS.FPS))
  121.         myScreen.SurfReleaseBackDC
  122.             
  123.     myScreen.Flip
  124. End Sub
  125.